# CMake 最低版本号要求
cmake_minimum_required(VERSION 3.0.0)

# 项目信息
project(cmake)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

# 加入一个配置头文件，用于处理 CMake 对源码的设置
configure_file(
        "${PROJECT_SOURCE_DIR}/config.h.in"
        "${PROJECT_BINARY_DIR}/config.h"
)

# 是否使用自己的 mymath 库
option(USE_MYMATH
        "Use provided math implementation" ON)

# 是否加入 mymath 库
if (USE_MYMATH)
    include_directories("${PROJECT_SOURCE_DIR}/math")
    add_subdirectory(math)
    set(EXTRA_LIBS ${EXTRA_LIBS} mymath)
endif (USE_MYMATH)

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)

# 指定生成目标
add_executable(demo.out ${DIR_SRCS})
target_link_libraries(demo.out ${EXTRA_LIBS})
